The use of automated devices is widespread nowadays, and finds countless applications. For instance, robots perform very precise and delicate tasks in the construction of electronic devices, or in medicine and aviation. Robots are also used in uses which require motion, notably, for automatic warehouses, where goods are retrieved and stored by means of computer-actuated robots. Other applications include, e.g., fetching raw materials in the course of industrial manufacturing, and removing and packaging finished pieces. In everyday's life, attempts have also been made to exploit robots for lawn mowing and for vacuum cleaning.
The major drawback of mobile robots, which the art has so far been unable to overcome, is the fact that their movements are limited to well predefined paths, normally requiring that they move along rails, or that they be provided with expensive navigation signs, positioned within the area in which they move, which operate as “stations” which redefine the exact position of the robot, and from which the program may direct the robot to the next station. These intermediate signs are expensive, take up space, and are inconvenient to use, since they must be very precisely positioned and cannot be easily moved.
Another approach involves providing an area delimited by boundaries recognizable by the robot, and permitting the robot to effect a random walk therein, during which random walk it carries out its tasks. This approach entails severe drawbacks: first of all, when the robot moves within a predefined area by random walk, there is no way to ensure that the whole area will be covered by the tool which must operate thereon. As a result, even though the robot may operate for a long period of time, unworked areas may be left at the end of the operation. Secondly, if the area to be worked is irregular, or if it presents “islands ”, viz. areas which must not be worked, the random walk may lead to imperfect operation around such islands, as well as at those locations where the perimeter is of irregular shape. Thirdly, because the operation of the robot is not programmed to obtain a predetermined coverage, it is necessary to allow the random walk to go on for a long period of time, so as to increase the chances of covering a major portion of the area to be worked. This is not only energy consuming, but also leads to an increased wear of the equipment, and may also be environmentally undesirable due, e.g. to noise or other pollution caused by the operation of the robot. Even if the robot is operated by sun energy, most of the aforesaid problems are not overcome, and additional problems exists, connected with such a mode of operation. For instance, the robot may not work properly in areas of the world where sun radiation is scarce or low, and may be inoperative for substantial parts of the day, e.g., on cloudy weather.
A further approach involves preprogramming the robot with a blueprint of its designated area of operation, such as a floor map of a building in which a robot is to operate. This approach has two major drawbacks:                a) it requires preprogramming by the user, which makes in unpractical for extensive consumer use; and        b) it requires that such preprogramming is repeated each time something changes in the work area.        
It is therefore clear that it would be highly desirable to be able to provide means by which automated mechanisms may move and perform their task within a predetermined area, without being hindered by the need for predefined paths and rails, or by intermediate navigation signs or preprogramming, and which may carry out their task in a predetermined manner, without relying on random occurrences and/or on unstable energy sources.